]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
main: Register session with GDM on startup
authorAdrian Vovk <adrianvovk@gmail.com>
Thu, 1 May 2025 22:34:52 +0000 (18:34 -0400)
committerMarge Bot <marge-bot@gnome.org>
Fri, 7 Nov 2025 21:25:13 +0000 (21:25 +0000)
When no monitor is connected, gnome-shell starts but never emits
`startup-prepared` nor `startup-complete`. As a result, GDM never
detects that the shell has launched and plymouthd remains running,
preventing the system from reaching graphical.target.

Ensure that registerSessionWithGDM() is called even when no monitor
is connected, so GDM can terminate plymouthd and allow the system to
reach graphical.target properly.

Part of https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/285

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3708>

js/ui/main.js

index c911ab21724c4d1d1d4cf1b7d926f9e581d725c0..90e78a197a34e8dff3ff65d87a31bd5791fcd89d 100644 (file)
@@ -323,6 +323,8 @@ async function _initializeUI() {
     extensionManager = new ExtensionSystem.ExtensionManager();
     extensionManager.init();
 
+    LoginManager.registerSessionWithGDM();
+
     if (sessionMode.isGreeter && screenShield) {
         layoutManager.connect('startup-prepared', () => {
             screenShield.showDialog();
@@ -369,8 +371,6 @@ async function _initializeUI() {
             sessionMode.currentMode !== 'initial-setup')
             _handleLockScreenWarning();
 
-        LoginManager.registerSessionWithGDM();
-
         if (perfModule) {
             const perfOutput = GLib.getenv('SHELL_PERF_OUTPUT');
             Scripting.runPerfScript(perfModule, perfOutput);